*****************************************************************************
*This file cleans population outcomes by education level from the Census/ACS*
*****************************************************************************

foreach year in 1980 1990 2000 2008 2016 {

use if year==`year' using "$raw_data_lmarket/ipums_census.dta", clear

*Drop institutional group quarters* 
quietly: drop if gqtyped>=100 & gqtyped<=499
*Drop alaska and hawai*
quietly: drop if statefip==2 | statefip==15

keep if age>=25&age<=64

keep cntygp* puma statefip perwt multyear empstat classwkrd ind1990 age educd bpl school relate sploc pernum race hispan sex serial hispan race

*population
gen ipums_pop = 1

*education level
foreach var of varlist ipums_* {
	gen `var'_b = (`var'==1 & educd>=100 & educd<=116)
	gen `var'_a = (`var'==1 & educd>=81 & educd<=83)
	gen `var'_l = (`var'==1 & educd>=2 & educd<=90)
	}

*age
foreach var of varlist ipums_* {
	gen `var'_a25_34 = (`var'==1 & age>=25 & age<=34)
	gen `var'_a35_44 = (`var'==1 & age>=35 & age<=44)
	gen `var'_a45_54 = (`var'==1 & age>=45 & age<=54)
	gen `var'_a55_64 = (`var'==1 & age>=55 & age<=64)
}

keep cntygp* puma statefip ipums_* perwt multyear

**Merge czones using geography xwalk**
if `year'==1980{
gen ctygrp1980=statefip*1000+cntygp98
collapse (sum) ipums_* [fw=perwt], by(ctygrp1980)  fast
joinby ctygrp1980 using "$project/xwalks/xwalks_geography/ctygrp1980_czone.dta", unmatched(master)
assert czone!=. 
}
else if `year'==1990{
gen puma1990=statefip*10000+puma
collapse (sum) ipums_* [fw=perwt], by(puma1990)  fast
count if puma1990!=.
joinby puma1990 using "$project/xwalks/xwalks_geography/puma1990_czone.dta", unmatched(master)
assert czone!=. 
}
else if `year'==2000  | `year'==2008 {
replace puma=1801 if puma==77777
gen puma2000=statefip*10000+puma
collapse (sum) ipums_* [fw=perwt], by(puma2000)  fast
count if puma2000!=.
joinby puma2000 using "$project/xwalks/xwalks_geography/puma2000_czone.dta", unmatched(master)
assert czone!=. 
}
else if `year'==2016  {
replace puma=1801 if puma==77777
gen puma2010=statefip*100000+puma
collapse (sum) ipums_* [fw=perwt], by(puma2010)  fast
count if puma2010!=.
joinby puma2010 using "$project/xwalks/xwalks_geography/puma2010_czone.dta", unmatched(master)
assert czone!=. 
}


**Aggregate at the czone level**
collapse (sum) ipums_* [iw=afac], by(czone) fast
foreach var of varlist ipums_*{
rename `var' `var'_`year'
}
save "$clean_data_lmarket/czone`year'_education.dta", replace
}

